'use strict';
const db = uniCloud.database() //获取数据库实例
// 声明一个操作符用于追加
const dbCmd = db.command
exports.main = async (event, context) => {
	const {
		user_id, //需要知道是哪个用户点击的收藏
		article_id //收藏的是哪个文章
	} = event
	//.doc()获取id为某个值的数据 需要模拟用户信息
	const userinfo = await db.collection('user').doc(user_id).get() //获取用户信息
	//判断本数组是否存在需要追加的文章id
	//更新
	const article_id_ids = userinfo.data[0].article_likes_ids
	let dbCmdFuns = null
	if (article_id_ids.includes(article_id)) {
		//判断当前文章是否存在于旧数组中 存在就取消
		dbCmdFuns = dbCmd.pull(article_id)
	} else {
		// 不存在就追加
		dbCmdFuns = dbCmd.addToSet(article_id) //给数组追加
	}

	// 更新用户信息 await同步操作
	await db.collection('user').doc(user_id).update({
		article_likes_ids:dbCmdFuns //给数组追加
	})
	//event为客户端上传的参数
	console.log('event : ', event)

	//返回数据给客户端
	return {
		code:200,
		msg:'数据请求成功',
		data:userinfo.data[0]
	}
};
